public class Liczba {
    private int liczba;
    public Liczba() {
    	liczba = 0;
    }

    public Liczba(int liczba) {
    	this.liczba = liczba;
    }
    
    public void zmienLiczbe(int nowaLiczba) throws IllegalArgumentException  {
    	if(nowaLiczba < 0) {
    		throw new IllegalArgumentException("Liczba nie moze byc ujemna");
    	}
        liczba = nowaLiczba;
    }
    
    public int zwrocLiczbe() {
    	return liczba;
    }

    public String zmienPodstawe(int podstawa) throws IllegalArgumentException {
    	if (podstawa < 2 || podstawa > 16) {
    		throw new IllegalArgumentException("Podstawa musi zawierac sie miedzy 2 a 16");
    	}
        int i = 0, iloscElementow = liczba;
        String returnString = "";
        String[] liczbaArray;
        String[] liczbaZapis = {"0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "A", "B", "C", "D", "E", "F"};
        while(iloscElementow > 0) {
            iloscElementow /= podstawa;
            i++;
        }

        liczbaArray = new String[i];


        i = 0;
        while (liczba > 0) {
            liczbaArray[i] = liczbaZapis[liczba % podstawa];
            liczba /= podstawa;
            i++;

        }
        while (i > 0) {
            returnString += liczbaArray[i - 1];
            i--;
        }
        return returnString;
    }
    public static void main(String[] args) {
    	Liczba l = new Liczba();
    	l.zmienLiczbe(10);
    	System.out.println(l.zmienPodstawe(2));
    }
}
